/*
 *      BoutonMenu.java
 *      
 *      Copyright 2011 Jean Clément Nigues <jeanclement@P5E3deluxe>
 *      
 *      This program is free software; you can redistribute it and/or modify
 *      it under the terms of the GNU General Public License as published by
 *      the Free Software Foundation; either version 2 of the License, or
 *      (at your option) any later version.
 *      
 *      This program is distributed in the hope that it will be useful,
 *      but WITHOUT ANY WARRANTY; without even the implied warranty of
 *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *      GNU General Public License for more details.
 *      
 *      You should have received a copy of the GNU General Public License
 *      along with this program; if not, write to the Free Software
 *      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 *      MA 02110-1301, USA.
 *      
 *      
 */
package pda.agenda.ihm;

import java.awt.Dimension;
import java.awt.Color;
import java.awt.Insets;

import javax.swing.JComponent;
import javax.swing.AbstractButton;
import javax.swing.plaf.basic.BasicButtonUI;

/**
 * Cette classe permet de modifier l'apparence des boutons qui
 * <br />permettent de changer de date.
 */
public class BoutonMenu extends BasicButtonUI {

	/**
	 * Change l'apparence du bouton, c'est à dire sa couleur, sa taille, ses marges...
	 * @param bouton La référence au bouton qui va subir la modification.
	 */
	protected void installDefaults(AbstractButton bouton) {
		super.installDefaults(bouton);

		Color fondBouton = new Color(0,0,0,0);
		Insets marges = new Insets(0,0,0,0);

		bouton.setBackground(fondBouton);
		bouton.setForeground(Color.WHITE);
		bouton.setMargin(marges);
		bouton.setBorderPainted(false);
	}

	/**
	 * Applique une taille minimum au bouton.
	 * @param composant La référence au composant qui va subir la modification.
	 * @return Une nouvelle taille
	 */
	public Dimension getMinimumSize(JComponent composant) {
		return new Dimension(40,35);
	}

	/**
	 * Applique une taille au bouton.
	 * @param composant La référence au composant qui va subir la modification.
	 * @return Une nouvelle taille
	 */
	public Dimension getPreferredSize(JComponent composant) {
		return new Dimension(40,35);
	}

	/**
	 * Applique une taille maximum au bouton.
	 * @param composant La référence au composant qui va subir la modification.
	 * @return Une nouvelle taille
	 */
	public Dimension getMaximumSize(JComponent composant) {
		return new Dimension(40,35);
	}

} // fin de la classe
